<?php
namespace Admin\Model;
use Think\Model; 
class AdminModel extends Model 
{
	protected $insertFields = array('username','password');
	protected $updateFields = array('id','username','password');
	protected $_validate = array(
		array('username', 'require', '账号不能为空！', 1, 'regex', 3),
		array('username', '1,30', '账号的值最长不能超过 30 个字符！', 1, 'length', 3),
		array('password', 'require', '密码不能为空！', 1, 'regex', 3),
		array('password', '1,32', '密码的值最长不能超过 32 个字符！', 1, 'length', 3),
	);
	public function search($pageSize = 20)
	{
		/**************************************** 搜索 ****************************************/
		$where = array();
		if($username = I('get.username'))
			$where['username'] = array('like', "%$username%");
		/************************************* 翻页 ****************************************/
		$count = $this->alias('a')->where($where)->count();
		$page = new \Think\Page($count, $pageSize);
		// 配置翻页的样式
		$page->setConfig('prev', '上一页');
		$page->setConfig('next', '下一页');
		$data['page'] = $page->show();
		/************************************** 取数据 ******************************************/
		$data['data'] = $this->alias('a')->where($where)->group('a.id')->limit($page->firstRow.','.$page->listRows)->select();
		return $data;
	}
	// 添加前
	protected function _before_insert(&$data, $option)
	{
	}
	// 修改前
	protected function _before_update(&$data, $option)
	{
	}
	// 删除前
	protected function _before_delete($option)
	{
		if(is_array($option['where']['id']))
		{
			$this->error = '不支持批量删除';
			return FALSE;
		}
	}
    public function login()
    {
        // 先取出用户提交的用户名和密码
        // 可以从模型中取，因为我们会在控制器中调用模型的create方法接收表单【$model->create()】，这个方法就接收表单数据并放到模型中的
        $username = $this->username;
        $password = $this->password;
        // 账号是否存在
        $user = $this->where(array(
            'username' => array('eq', $username)
        ))->find();
        if($user)
        {
            if($user['password'] == md5($password))
            {
                // 登录成功把ID和username存到session中
                session('id', $user['id']);
                session('username', $user['username']);
                return TRUE;
            }
            else
            {
                $this->error = '密码不正确！';
                return FALSE;
            }
        }
        else
        {
            $this->error = '账号不存在！';
            return FALSE;
        }
    }
	/************************************ 其他方法 ********************************************/
}